#ifndef AREA_CELL__
#define AREA_CELL__

#include <vector>

/** Trida pro ulozeni informaci o jedne antene.
 * Pamatuje si pocet pozadovanych vysilacu, na ktere pozici v prirazeni zacinaji jeji vysilace,
 * sve sousedni anteny a anteny, od kterych musi byt frekvencne oddelena.
 */
class Cell {
public:
	Cell() {} ///< Defaultni konstruktor.

	/** Nastavi pocet vysilacu a pocatecni index v poli prirazeni.
	 * \param d pocet vysilacu
	 * \param i prvni index v poli prirazeni
	 */
	void set(int d, int i) {
		demand = d;
		index = i;
	}
	void addConstraint(int n);
	int demand, ///< pocet vysilacu
		index; ///< index prvni pozice v poli prirazeni frekvenci
	int info; ///< polozka pro ucely algoritmu
	double x, ///< x-ova slozka pozice umisteni anteny
		y; ///< y-ova slozka pozice umisteni anteny
	std::vector<int> neighbours; ///< sousedni anteny
	std::vector<int> constraints; ///< anteny, od kterych musi byt frekvencne oddelena
};

#endif
